package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	//作业第二题
	// arr := [8]int{1, 4, 9, 16, 2, 5, 10, 15}
	// slice := make([]int, 0)
	// for i := 0; i < len(arr)-1; i++ {
	// 	slice1 := arr[i] + arr[i+1]
	// 	slice = append(slice, slice1)
	// }
	// fmt.Printf("%+v\n", slice)

	//作业第三题
	rand1 := rand.New(rand.NewSource(time.Now().UnixNano()))
	slice := make([]int, 0)

	//生成随机数
	for i := 0; i < 100; i++ {
		num := rand1.Intn(201) + (-100)
		slice = append(slice, num)
	}
	//降序排列
	for i := 0; i < len(slice)-1; i++ {
		for j := 0; j < len(slice)-i-1; j++ {
			if slice[j] < slice[j+1] {
				slice[j], slice[j+1] = slice[j+1], slice[j]
			}
		}
	}
	//重复次数
	count := make([]int, len(slice))

	for i := 0; i < len(slice); i++ {
		for j := 0; j < len(slice); j++ {
			if slice[i] == slice[j] {
				count[i]++
			}
		}
	}

	//输出结果
	for i, v := range slice {
		counts := count[i] + 1
		fmt.Printf("%v,%v\n", v, counts)
	}
}

// 批改意见
// 思路和逻辑都正确，输出的结果中，重复次数+1有问题